Un manuel pour les compétiteurs

par

Caesum

(A Challengers Handbook - Site original : http://www.caesum.com)
(Version française par CommComm avec l'aimable autorisation de Caesum - Cronos - 14 mars 2006)

Stéganographie

La stéganographie, c'est l'art de cacher des choses parmi d'autres, comme par exemple cacher un texte à l'intérieur d'une image, d'une manière ou d'une autre. Normalement, vous ne devriez jamais savoir que le message original est là, s'il est bien caché. Les niveaux de stégano ont tendance à être des processus, simplistes et tout prêts, de masquage ou d'encodage. De temps en temps, vous tomberez sur une situation dans laquelle on a utilisé une véritable méthode, souvent avec des indices pour découvrir celle-ci ou bien le bon logiciel de craquage.

Je traiterai de trois catégories de stégano : le texte, les images et le son. D'abord, un message peut être caché n'importe où. Et quand vous êtes face à quelque chose de nouveau, par exemple un message caché dans un fichier compressé qui par ailleurs apparaît comme étant tout à fait normal, la première chose à faire, c'est de déterminer le format du fichier, puis l'examiner en détail et rechercher tout ce qui sort de l'ordinaire. Des octets ont-ils été ajoutés en fin du fichier ? Le fichier comporte-t-il une section bizarre ? Y a-t-il des endroits évidents dans le fichier où on aurait pu cacher quelque chose ?

La stégano dans un texte, c'est plutôt quelque chose de simple qui pourrait parfois relever plutôt de la crypto que de la stégano (1). Ce à quoi il faut porter attention, c'est une ponctuation inhabituelle, les caractères se trouvant avant ou après les signes de ponctuation, les majuscules, la première lettre de chaque phrase, le premier caractère de chaque mot (ou le deuxième, le troisième, le dernier...), chaque troisième (quatrième, cinquième ou plus...) mot... Regardez le format : n'y a-t-il rien d'inhabituel ? Y a-t-il un tag préalable dans la page HTML, ou un message qui y serait écrit verticalement ? Contrôlez le contenu de la page HTML : ne contiendrait-t-elle pas des caractères marqués d'une façon ou d'une autre, par exemple avec des couleurs différentes ? J'ai vu des messages cachés dans les codes couleurs d'une page HTML ou dans des tabulations et des espaces qu'on ne voit pas au premièr abord, etc. Il faut aussi se rappeler que tant le morse que le chiffre de Bacon peuvent être utilisés dans le processus. Un message qui reSSEmbLe à cEcI PeUt AIsEMeNt contenir un chiffre de Bacon.

Les images constituent une façon très populaire de cacher des messages. Rappelez vous qu'il n'y a pas de perte de données dans les fichiers gif et bmp à la différence des fichiers jpg. Cacher des messages dans l'un ou l'autre relève donc de méthodes sensiblement différentes. Dans un gif, vous verrez que souvent les couleurs sont importantes alors que dans un jpg, on a tendance à cacher les données plus ouvertement sous forme d'image dans l'image ou à l'intérieur de la structure du fichier binaire (regardez à la fin du fichier pour trouver des données ajoutées et apprenez à reconnaître les signatures des fichiers usuels comme "PK" pour les fichiers ZIP). Si un gif apparaît comme un fouillis de couleurs sans signification, vous êtes probablement en face d'un type d'encodage lié aux couleurs : regardez le code HTML utilisé pour chacune (Paint Shop Pro est parfait pour l'analyse des images), comptez les couleurs utilisées et cherchez un procédé de codage qui soit simple. Dans une image gif, regardez avec attention les pixels à la recherche de tout ce qui pourrait être inhabituel, comme une zone qui, par exemple, ne ressemble à rien de cohérent. Elle pourrait contenir un message binaire codé avec les bits de poids faible (LSB) des couleurs. Il est aussi utile d'avoir un mode de pensée latérale, l'épreuve pouvant être un problème de manipulation d'image plutôt qu'un problème de codage. Mais ceci est souvent évident, face à un problème donné.

La stéganographie sonore n'a pas beaucoup été exploitée. Comme pour les images, certains formats sont source de perte de données (mp3) et d'autres non (wav). Le meilleur programme permettant de manipuler les sons est de loin Cool Edit Pro. Les MP3 pouvant contenir des commentaires, il faut regarder au début et la fin du fichier à la recherche de quelque chose de caché. Face à un mot de passe, il y a une bonne probabilité que mp3stego ait été utilisé. Dans les fichiers wav, apprenez à zoomer sur les bits du fichier avec Cool Edit et à procéder à des transformations sur le fichier, comme par exemple l'allonger. Regardez le fichier en mode spectral et essayez d'utiliser des filtres FFT en zoomant une des fréquences données. Pour obtenir une information sur une note, une astuce consiste à sélectionner une position dans le fichier, pratiquer une analyse de fréquences et enfin trouver une table de fréquences sur le Web pour déterminer les notes correspondantes.

Le livre ci-dessous jette un regard sérieux sur la stégano, à la différence de la plupart des challenges qui sont plutôt des énigmes basiques.



(1) Note CommComm : Il est vrai que les mots stégano et crypto ont tous deux un sens voisin de dissimulé, caché secret...

Retour au sommaire